import java.util.Arrays;
import java.util.Comparator;

/**
 * Created with IntelliJ IDEA.
 * Description:
 * User: 周斌
 * Date: 2024-05-07
 * Time: 21:22
 */

//day2贪心算法力扣179最大数
class Imp implements Comparator<String> {

    @Override
    public int compare(String o1,String o2) {
        String s1 = o1 + o2;
        String s2 = o2 + o1;
        return s2.compareTo(s1);
    }
}
public class Main {
    public String largestNumber(int[] nums) {
        //1.转化为字符串
        String[] str = new String[nums.length];
        for(int i=0; i<nums.length; i++) {
            str[i] = String.valueOf(nums[i]);
        }
        Imp imp = new Imp();
        //2.比较规则
        //传一个比较器
        //比较规则:
        //通过字符串拼接方式  以字典序比较
        Arrays.sort(str,imp);
        //3.提取结果
        StringBuilder ret = new StringBuilder();
        for (String s : str) {
            ret.append(s);
        }
        //特殊情况：
        //字符串第一个就是0，则说明这个数组中的元素全是0 最后只需要返回一个“0”即可
        if(ret.charAt(0) == '0') {
            return "0";
        }
        return ret.toString();
    }
}
